package cl.inacap.adm.proyect.action.operacion;



import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

import org.apache.log4j.Logger;
import org.apache.struts.action.ActionForm;
import org.apache.struts.action.ActionForward;
import org.apache.struts.action.ActionMapping;
import org.apache.struts.validator.DynaValidatorActionForm;

import cl.inacap.adm.proyect.action.common.BaseAction;
import cl.inacap.adm.proyect.model.bo.dvo.ClienteDVO;
import cl.inacap.adm.proyect.ui.WebUtils;

/**
 * pantalla de proyecto<p>
 *
 * Registro de Versiones:<ul>
 * <li>29/04/2013 [jcornejo - schema Ltda.]: Versión Inicial</li>
 * </ul><p>
 * 
 * <b>Todos los derechos reservados - AdmProyect</b><p>
 *
 */
public class ClientesAction extends BaseAction {

	protected static Logger logger = Logger.getLogger( ClientesAction.class );


    public ActionForward unspecified( ActionMapping mapping, ActionForm form, 
                                 HttpServletRequest request, HttpServletResponse response) throws Exception {
    	
    	
    	DynaValidatorActionForm daf = (DynaValidatorActionForm)form;
    	
    	daf.set("rut","");
    	daf.set("nombre","");
    	daf.set("fono","");
    	daf.set("direccion","");
    	
    	
    	ClienteDVO[] cliente = WebUtils.getAdmProyectComponent().getClientes();
    	request.setAttribute("clientes",cliente);
    	
    	return mapping.findForward( "clientes" );
    }
    
    
    public ActionForward guardarCliente( ActionMapping mapping, ActionForm form, 
            HttpServletRequest request, HttpServletResponse response) throws Exception {

    	System.out.println("guardar cliente");
    	DynaValidatorActionForm daf = (DynaValidatorActionForm)form;
    	ClienteDVO cliente = new ClienteDVO();
    	cliente.setRut(daf.getString("rut"));
		cliente.setNombre(daf.getString("nombre"));
		cliente.setFono(daf.getString("fono"));
		cliente.setDireccion(daf.getString("direccion"));
		WebUtils.getAdmProyectComponent().insertCliente(cliente);
	  	request.setAttribute("botonGuardar", true);
	  	
	  	ClienteDVO[] clientes = WebUtils.getAdmProyectComponent().getClientes();
    	request.setAttribute("clientes",clientes);
    	
    	return mapping.findForward( "clientes" );
	}
    
    
    public ActionForward eliminarCliente( ActionMapping mapping, ActionForm form, 
            HttpServletRequest request, HttpServletResponse response) throws Exception {

    	
    	

    	Integer id = Integer.parseInt(request.getParameter("cliId"));
    	
    	WebUtils.getAdmProyectComponent().deleteClienteById(id);
	  	
    	request.setAttribute("botonGuardar", false);
	  	ClienteDVO[] clientes = WebUtils.getAdmProyectComponent().getClientes();
    	request.setAttribute("clientes",clientes);
    	
    	DynaValidatorActionForm daf = (DynaValidatorActionForm)form;
    	daf.set("rut","");
    	daf.set("nombre","");
    	daf.set("fono","");
    	daf.set("direccion","");
    	
    	return mapping.findForward( "clientes" );
	}
    
    
}
